import java.util.ArrayList;
import java.util.List;

class Solution {
    public List<Integer> findAnagrams(String s, String p) {
        List<Integer> list=new ArrayList<>();
        int[] hash1=new int[26];
        int[] hash2=new int[26];
        char[] ss=s.toCharArray();
        char[] pp=p.toCharArray();  int flg=0;
        for (int i = 0; i < pp.length; i++) {
            hash1[pp[i]-97]++;
        }
        for (int right = 0,left=0; right <ss.length ; right++) {
            hash2[ss[right]-97]++;
            if(right-left+1>pp.length){
                hash2[ss[left]-97]--;
                left++;

            }
            for(int i=0;i<hash1.length;i++){
              flg=0;
                if(hash1[i]!=hash2[i]){
                    flg=1;
                    break;
                }
            }
            if(flg==0){
                list.add(left);
            }
        }
        return list;
    }
}